const express=require('express');
//引入连接池对象
const pool=require('../pool.js');
const user=express.Router();
//console.log(pool)

//添加路由 用户注册
user.post('/reg',(req,res,next)=>{
	let obj=req.body;
	//console.log(obj);
	//验证各项数据是否为空
	if(!obj.uname){
	res.send({code:404,msg:'用户名不能为空'});
	return;
	}
	if(!obj.upwd){
		res.send({code:404,msg:'密码不能为空'});
		return;
	}
	if(!obj.email){
		res.send({code:404,msg:'邮箱不能为空'});
		return;
	}
	if(!obj.phone){
		res.send({code:404,msg:'手机号不能为空'});
		return;
	}
	if(!/^1[3-9]\d{9}$/.test(obj.phone)){
		res.send({code:405,msg:'手机号码格式错误'});
		return;
	};
	pool.query('insert into xz_user set ?',[obj],(err,result)=>{
	if(err){
	//如果出现错误交给下一个中间件来处理
		next(err);
	//阻止往后执行
		return;
	};
		//console.log(result);
		res.send({code:200,msg:'用户创建成功'});
	});
	//res.send({code:400,msg:'注册成功'});
});

//添加路由 用户登录
user.post('/login',(req,res,next)=>{
	let obk=req.body;
	if(!obk.uname){
		res.send({code:401,msg:'uname不能为空'});
		return;
	};
	if(!obk.upwd){
		res.send({code:402,msg:'upwd不能为空'});
		return;
	};
	pool.query('select * from xz_user where uname=? and upwd=?',[obk.uname,obk.upwd],(err,result)=>{
		if(err){
			next(err);
			return;
		};
		if(result.length===0){
			res.send({code:201,msg:'登陆失败'});
		}else{
			res.send({code:201,msg:'登陆成功'});
		};
	})
	//res.send('ok')
	//console.log(obk);
});

//添加路由 修改用户

user.put('/',(req,res,next)=>{
	//console.log(req.body);
	let obj=req.body;
	//初始化变量保存状态码
	let i=400;
	for(let k in obj){
		//每遍历一次，状态码加1
		i++;
		//console.log(k,obj[k]);
		if(!obj[k]){
			res.send({code:i,msg:k+'不能为空'})
			return;
		}

	}
	/*
	if(!obj.email){
		res.send({code:201,msg:'email不能为空'});
		return;
	};
	if(!obj.phone){
		res.send({code:201,msg:'phone不能为空'});
		return;
	};
	if(!obj.user_name){
		res.send({code:201,msg:'user_name不能为空'});
		return;
	};
	if(!obj.gender){
		res.send({code:201,msg:'gender不能为空'});
		return;
	};
	if(!obj.uid){
		res.send({code:201,msg:'sex不能为空'});
		return;
	};
	*/
	pool.query('update xz_user set ? where uid=?',[obj,obj.uid],(err,result)=>{
		if(err){
			next(err);
			return;
		}
		if(!/^1[3-9]\d{9}$/.test(obj.phone)){
			res.send({code:406,msg:'手机号码格式错误'});
			return;
		};
		if(!/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(obj.email)){
			res.send({code:470,msg:'邮箱格式错误'});
			return;
		};
		if(result.affectedRows===0){
			res.send('修改失败');
		}else{
			res.send('修改成功');
		};
		console.log(result)
	});
	//user.query();
	//res.send('修改成功');
});

//添加路由 检索用户
user.get('/:uid',(req,res,next)=>{
	pool.query('select * from xz_user where uid=?',[req.params.uid],(err,result)=>{
		if(err){
			next(err);
			return;
		};
		if(result.length===0){
			res.send({code:201,msg:'该用户不存在'});
		}else{
			res.send({code:200,msg:'检索成功',data:result});
		};
	});
})

//检测用户名是否被占用
user.get('/checkUname/:uname',(req,res,next)=>{});

//检测邮箱是否被占用
user.get('/checkEmail/:email',(req,res,next)=>{});

//检测手机是否被占用
user.get('/checkPhone/:phone',(req,res,next)=>{});

//导出对象
module.exports=user;